package com.whnk.attendance.mapper;

import java.math.BigDecimal;
import java.util.List;
import com.whnk.attendance.domain.MonthIncomeStatis;
import com.whnk.attendance.vo.*;

/**
 * 每月统计收入Mapper接口
 * 
 * @author whnk
 * @date 2021-11-17
 */
public interface MonthIncomeStatisMapper 
{
    /**
     * 查询每月统计收入
     * 
     * @param incomeId 每月统计收入主键
     * @return 每月统计收入
     */
    public MonthIncomeStatis selectMonthIncomeStatisByIncomeId(Integer incomeId);

    /**
     * 查询每月统计收入列表
     * 
     * @param monthIncomeStatis 每月统计收入
     * @return 每月统计收入集合
     */
    public List<MonthIncomeStatis> selectMonthIncomeStatisList(MonthIncomeStatis monthIncomeStatis);

    /**
     * 新增每月统计收入
     * 
     * @param monthIncomeStatis 每月统计收入
     * @return 结果
     */
    public int insertMonthIncomeStatis(MonthIncomeStatis monthIncomeStatis);

    /**
     * 修改每月统计收入
     * 
     * @param monthIncomeStatis 每月统计收入
     * @return 结果
     */
    public int updateMonthIncomeStatis(MonthIncomeStatis monthIncomeStatis);

    /**
     * 删除每月统计收入
     * 
     * @param incomeId 每月统计收入主键
     * @return 结果
     */
    public int deleteMonthIncomeStatisByIncomeId(Integer incomeId);

    /**
     * 批量删除每月统计收入
     * 
     * @param incomeIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMonthIncomeStatisByIncomeIds(Integer[] incomeIds);

    public List<MonthIncomeStatisVo> selectMonthIncomeStatisVoList(String month);

    public List<MonthIncomeStatisEmpVo> queryMonthIncomeStatisEmp(String month);

    public List<MonthIncomeStatisEmpVo> queryMonthIncomeStatisDepart(String month);

    public List<MonthIncomeStatisMDVo> queryMonthIncomeStatisMD(String month);

    public List<MonthIncomeStatisWHGVo> queryMonthIncomeStatisWHG(String month);

    public int insertMonthIncomeStatisVo(MonthIncomeStatisVo monthIncomeStatisVo);

    public int deleteMonthIncomeStatisVo(String month);

    public List<MonthWorkIncomeResultVo> queryWorkloadIncome(MonthWorkIncomeQuery monthWorkIncomeQuery);

    public List<MonthHumenCostResultVo> queryHumenCostForecast(MonthHumenCostQuery monthHumenCostQuery);
}
